package com.tencreat.service.mall;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tencreat.common.core.HttpResult;
import com.tencreat.domain.mall.MallGoods;
import com.tencreat.domain.mall.dto.*;
import com.tencreat.domain.mall.vo.*;

import java.util.List;

/**
 *
 * 店铺-商品大厅
 * @author zixin
 */
public interface IMallShopGoodsService extends IService<MallGoods> {

    /**
     * 分页查询
     * @param dto 查询入参
     * @param page 分页入参
     * @return 分页对象
     */
    Page<MallStoreGoodsVO> list(IPage<?> page, MallStoreGoodsDTO dto);

    /**
     * 审核列表
     * @param dto 查询入参
     * @param page 分页入参
     * @return 分页对象
     */
    Page<MallStoreGoodsVO> listAudit(IPage<?> page, MallStoreGoodsAuditDTO dto);

    /**
     * 全查
     * @param dto 查询入参
     * @return 对象
     */
    List<MallStoreGoodsVO> list(MallStoreGoodsDTO dto);

    /**
     * 查询
     * @param id 商品ID
     * @return 对象
     */
    MallGoodsAllVO query(Long id);

    MallStoreGoodsQueryVO queryByAdmin(Long id);

    boolean add(MallGoodsAddDTO dto);

    List<Integer> queryCount(Long userId);

    List<Integer> queryAuditCount(Long userId);

}
